package cn.song.freight.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 重量区间规则数据传输对象
 *
 * @author SongRenShuo
 * @date 2025/08/28
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WeightSegmentRuleDTO {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 运费策略ID
     */
    @NotNull(message = "运费策略ID不能为空")
    private Long strategyId;

    /**
     * 关联的定价配置ID（V3新增）
     */
    @NotNull(message = "定价配置ID不能为空")
    @ApiModelProperty(value = "关联的定价配置ID", required = true, example = "1")
    private Long pricingId;

    /**
     * 区间上限（kg）
     */
    @NotNull(message = "区间上限不能为空")
    private BigDecimal upperBound;

    /**
     * 区间费用（元）
     */
    @NotNull(message = "区间费用不能为空")
    private BigDecimal freight;

    /**
     * 区间描述
     */
    private String description;

    /**
     * 操作人
     */
    private String operator;

    public String getOperator() {
        return operator == null ? "admin" : operator;
    }
}
